/* Soubor je ulozen v kodovani UTF-8.
 * Kontrola kódování: Příliš žluťoučký kůň úpěl ďábelské ódy.
 */
package cz.pecinovsky.english.pojj.adv_framework.game_txt;

import java.util.Collection;



/*******************************************************************************
 * Instance rozhraní {@code IPlace} představují prostory ve hře.
 * Dosažení prostoru si můžeme představovat jako částečný cíl,
 * kterého se hráč ve hře snaží dosáhnout.
 * Prostory mohou být místnosti, planety, životní etapy atd.
 * Prostory mohou obsahovat různé objekty,
 * které mohou hráči pomoci v dosažení cíle hry.
 *
 * @author    Rudolf PECINOVSKÝ
 * @version   5.0
 */
public interface IPlace extends INamed, IObjectContainer
{
//== VEŘEJNÉ KONSTANTY =========================================================
//== DEKLAROVANÉ METODY ========================================================

    /***************************************************************************
     * Vrátí popis prostoru, který daný prostor stručné charakterizuje.
     *
     * @return Požadovaný popis
     */
//    @Override
    public String getDescription();


    /***************************************************************************
     * Vrátí kolekci prostorů, do nichž je možno se z tohoto prostoru přesunout.
     *
     * @return Požadovaná kolekce
     */
//    @Override
    public Collection<? extends IPlace> getNeighbors();



//== ZDĚDĚNÉ METODY ============================================================

    /***************************************************************************
     * Vrátí název prostoru.
     *
     * @return Název prostoru
     */
    @Override
    public String getName();


    /***************************************************************************
     * Vrátí kolekci objektů nacházejících se v daném prostoru.
     *
     * @return Požadovaná kolekce
     */
    @Override
    public Collection<? extends IObject> getObjects();



//== INTERNÍ DATOVÉ TYPY =======================================================
}
